package org.cvcsc.weproject.repository;

import java.util.List;

import org.cvcsc.weproject.domain.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

public interface StudentRepository extends JpaRepository<Student, Long> , Finder<Student, Long>{

    List<Student> findByClazzId(Long clazzId);

    /**
     * 根据班级ID删除学生信息
     * 
     * <p>
     * 该方法会删除指定班级ID的所有学生记录。如果班级ID不存在，则不会删除任何记录。
     * </p>
     * 
     * @param clazzId 要删除的班级ID，不能为null
     * @throws IllegalArgumentException 如果clazzId为null
     */
    @Query("DELETE FROM Student s WHERE s.clazz.id = :clazzId")
    void deleteStudentsByClazzId(@Param("clazzId") Long clazzId);

    Student findByStudentNameNumber_Number(String number);
}
